<?php
/**
 * <https://y.st./>
 * Copyright © 2019 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'Not going to be a shift leader after all',
	'takedown' => '2017-11-01',
	'<{body}>' => <<<END
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2019/07/21.jpg" alt="A couple bridges over a stream in town (a third bridge is unseen to the left of the photo)" class="framed-centred-image" width="800" height="480"/>
<section id="diet">
	<h2>Dietary intake</h2>
	<p>
		For breakfast, I had a bowel of cereal.
		For each lunch and dinner, I had a small soft taco.
		I also snacked on 32 pistachios.
	</p>
	<p>
		I&apos;ve got dried cherries in my freezer.
		I&apos;ve tried using them in a smoothie, but it just doesn&apos;t work.
		Maybe if I soaked them for a couple days, that&apos;d do the trick.
		Instead though, I&apos;m just going to eat them plain as a snack.
		I&apos;m going to avoid buying more pretzels until the cherries are gone.
		I&apos;ve had them for probably almost a year now, if not longer, and it&apos;s about time I actually ate them.
	</p>
</section>
<section id="drudgery">
	<h2>Drudgery</h2>
	<p>
		After banging my head on the wall for a few hours, I managed to finally get the basic properties of the model I have to develop for my assignment this week set up.
		I tried searching the web for how to combine objects in <code>three.js</code> and got nowhere.
		I tried a couple other solutions too, and got nowhere with those either.
		Eventually, I came across an unrelated post that discussed wanting to change the pivot point for an object.
		That wasn&apos;t semantically what I wanted to do, but would perfectly simulate what I wanted to do.
		Fine.
		Whatever.
		I&apos;d just do that.
		That lead down a long chain of searches on how to do that properly, which again, wasn&apos;t working, and eventually, I found a post that talked about how to set a pivot point using pivot point object.
		After trying to use that for a bit, which was mysteriously going back and forth between working and not, I got to noticing that the pivot point object just looked like an empty object to me.
		Could I use just <strong>*any*</strong> object as the pivot point?
		It turns out I can.
		The objects that get added to the pivot point are just attached to that object.
		It took me a bit to find the pattern for controlling the pivoting, and it turns out I rotate the pivot point and leave the object I intend to actually pivot alone entirely.
		In other words, the object gets attached to the pivot point object, which was <strong>*exactly*</strong> what I&apos;d initially tried to do in attaching the object to another object that&apos;s actually visible in the scene.
		So now I have the exact behaviour, in the semantically-correct way I had initially been trying to get, which wasn&apos;t coming up in search results for searches on exactly that functionality.
		I swear, it&apos;s so hard to find decent information on using <code>three.js</code>.
		It&apos;s absolutely activating.
		Working with this library is absolute torture, and it&apos;s not because of the $a[API] itself, but because of the inability to find basic information on the $a[API].
	</p>
	<p>
		As for the inconsistent behaviour, I don&apos;t know what was making it flip back and forth between working and not working, but I found how to make it do one of the other and stick with it.
		If I add the sub-object to the scene, it reacts according to the its own configuration, which isn&apos;t what I want.
		If I add the sub-object to the main object, the two can be manipulated in unison, which is exactly what I want.
		I&apos;d been adding the sub-object to both.
		It seems only one was taking effect at any given time, and I don&apos;t know what determined which adding would take precedence.
		Maybe I changed the order in which I added the object to the two or something.
		I don&apos;t even know and to be honest, I don&apos;t even care.
		I&apos;m not going to experiment.
		I just want to get my coursework over with.
		The next couple days will be a bit busy (first I&apos;m checking in on the vocal program tomorrow, then getting the hair burnt off my face again the day after), so I wanted to at least have a working setup going today, even if that wasn&apos;t an entire model just yet.
		If the school wasn&apos;t draining the joy of learning right out of me though, I would totally experiment with this.
		As it stands though, when learning what they have to teach isn&apos;t frustrating beyond what it should be, it&apos;s such a bore that getting myself to go above and beyond is nearly impossible.
	</p>
	<p>
		My discussion post for the day:
	</p>
	<blockquote>
		<p>
			I question Java&apos;s readability and simplicity.
			In Java, multiple methods can share a method name within the same class, which has brought me no end to headaches in debugging.
			You think you&apos;re calling one method, but you&apos;re actually calling another, or perhaps you&apos;re calling a method that doesn&apos;t exist because you accidentally passed in the wrong arguments, and now Java is looking for a non-existent method by that name that takes those arguments instead of noticing that it&apos;s the arguments that are wrong, not the method.
			That&apos;s not simplicity.
			Likewise, when you read the code, it&apos;s easy to not realise which method is being called where for the exact same reason.
			A language that allows multiple methods to share a name is difficult to read through.
		</p>
		<p>
			You make great points about it being versatile and a cross-platform language though.
			Java will run on just about everything, which makes it useful for writing cross-platform software.
			And like you said, it&apos;s free software, so the source code can be taken and modified/compiled to run on new platforms as needed.
		</p>
	</blockquote>
	<p>
		I also got registered for next term.
		I&apos;ll be taking <span title="Software Engineering 2">CS 4403</span> and <span title="Advanced Networking and Data Security">CS 4404</span>, as previously planned.
	</p>
</section>
<section id="Minetest">
	<h2>Minetest</h2>
	<img src="/img/CC_BY-SA_3.0/minetest.net./weblog/2019/07/21.png" alt="From the inside of Somniphobia Headquarters, looking out" class="framed-centred-image" width="1024" height="600"/>
	<p>
		I got a little bit of mining done, then built up the tower of gravel to keep myself from getting drawn into the game too much again.
		This strategy does seem to be working well.
	</p>
	<p>
		I really don&apos;t seem to be finding much mese down here though.
		I think I need to clean up the ores I&apos;ve already located, including a few patches of gravel, then try going deeper.
		It might be worth growing my wood on the surface after all.
		I&apos;ll be heading up there every day when I stack the gravel to keep myself from playing for too long, so I can cut some trees down before I go to sleep each night or something.
	</p>
</section>
<section id="voice">
	<h2>Vocal lessons</h2>
	<p>
		I occurred to me today that by waiting patiently for a month for the vocal clinic to get back to me, I waited half a term.
		Last term, they told me I couldn&apos;t get in that term because the term had started, so the test group was already assembled.
		But now, it&apos;s half a term in, and I still haven&apos;t heard back from them.
		Are they not going to contact me after all?
		Was the person I talked to last term just wrong?
		I don&apos;t even know.
		Tomorrow&apos;s the day I planned a month ago to go in and try again though, so I guess I&apos;ll try once more to see what&apos;s up.
		I&apos;m not at all feeling hopeful.
	</p>
</section>
<section id="promotion">
	<h2>Potential promotion?</h2>
	<p>
		I caught a peek at the incomplete schedule that&apos;ll be made available on Friday.
		I wasn&apos;t trying to.
		And I didn&apos;t look at any of the shift times.
		But I saw I&apos;d been moved to the management section of the schedule.
		It made the upcoming promotion seem a bit more - I don&apos;t know - real?
		Later, one of the shift leaders gave me a bit more information.
		It seems that even when employees are trained as shift leaders and get the approval of the person in charge, they don&apos;t always actually get the job.
		If there are a lot of shift leaders already, such as is the case now, they&apos;ll often just remain as regular crew members because they&apos;re not needed for a leadership position.
		So this promotion probably isn&apos;t happening after all.
		Of course, being trained will put me ahead of other employees when an opening does occur.
		If I&apos;m still here.
		And I&apos;m trapped for the time being, so I very well could be.
	</p>
	<p>
		They also told me that much of the test the person in charge administers is about confidence in your answers.
		If you&apos;re way off, you&apos;ll still be marked down, but you&apos;ll get credit for close answers if you don&apos;t seem unsure, and you won&apos;t get full credit for answers you get wrong if you seem unsure.
		That&apos;s good to know.
		What would give me more confidence in my answers though is studying a bit more, and getting the answers write when I test myself, which will also make the answers I give actually correct.
	</p>
</section>
END
);
